Sub RegExGetSubString()
    ' Reference VBScript RegExp 1.0 or 5.5
    Dim oRegEx As IRegExp2                          'VBScript_RegExp_10.RegExp
                                                    'VBScript_RegExp_55.RegExp
    Dim oMatchCol As IMatchCollection2              'VBScript_RegExp_10.MatchCollection
    Dim strHaystack As String, strPattern As String
    Dim oSubMatchCol As ISubMatches
    Dim i As Integer, j As Integer, sStr As String
    
    strHaystack = "+28C,-82F"
    strPattern = "([-+]?[0-9]+)([CF])"
    ' ?: means do not capture submatch
    'strPattern = "([-+]?[0-9]+)(?:[CF])"
    Set oRegEx = New RegExp
    If Len(strHaystack) > 0 Then
        With oRegEx                 ' CreateObject("vbScript.RegExp")
            .Pattern = strPattern
            .Global = True
            Set oMatchCol = .Execute(strHaystack)
            With oMatchCol
                For i = 1 To .Count
                    sStr = .Item(i - 1).Value
                    Set oSubMatchCol = .Item(i - 1).SubMatches
                    For j = 1 To oSubMatchCol.Count
                        sStr = sStr & "- " & oSubMatchCol.Item(j - 1)
                    Next
                    Debug.Print sStr
                Next i
            End With
        End With
    End If
End Sub

